#ifndef _H_FLOCKING_H_
#define _H_FLOCKING_H_

#define BUCKETS_X 3 // make sure to also change these in fish_ppe.c & fish_spe.c
#define BUCKETS_Y 2

#define GO_MSG 1
#define STOP_MSG 0
#define DONE_MSG 2

typedef union {
  float f;
  int i;
} spe_mbox_msg_t;

typedef struct {
  unsigned long long fish_ea[2][BUCKETS_Y][BUCKETS_X]; // 96B
  unsigned long long fish_bucket_n_ea; // 8B
  int pad[2]; // 8B
} spe_params_t; // total: 112B

typedef struct {
  double random_seed; // 8 bytes                                                                                 
  int bucket_number; // 4 bytes           
  int pad; // 4 bytes          
} spe_auxinfo_t; // total: 16B


#endif
